From: Florian Müllner Date: Sun, 25 May 2014 14:38:05 +0000 (+0200) Subject: popupMenu: Hide separator label when not in use X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~2466 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=38d8e465b37e06e935f6d5bbb9da05e1c171f426;p=gnome-shell.git popupMenu: Hide separator label when not in use The optional label support introduced in commit af063dc2f2ec broke the centering of separators, as the label still adds additional spacing even when empty. Properly hide the label actor in that case to fix the alignment. https://bugzilla.gnome.org/show_bug.cgi?id=730753 --- diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js index af0d9e19f..d7f3880c4 100644 --- a/js/ui/popupMenu.js +++ b/js/ui/popupMenu.js @@ -251,8 +251,16 @@ const PopupSeparatorMenuItem = new Lang.Class({ this.actor.add(this.label); this.actor.label_actor = this.label; + this.label.connect('notify::text', + Lang.bind(this, this._syncVisibility)); + this._syncVisibility(); + this._separator = new Separator.HorizontalSeparator({ style_class: 'popup-separator-menu-item' }); this.actor.add(this._separator.actor, { expand: true }); + }, + + _syncVisibility: function() { + this.label.visible = this.label.text != ''; } });